<?php
/**
 * 使用 建造者 设计模式 构建车辆
 * 2019年12月5日14:53:44
 * [关键]根据严格的编程范式以及建造者模式-一致性 来说 建造者基类 需要通过 抽象类或者接口实现，来保持子类方法的一致与精确性；但本基类为了简便，直接使用了父类-子类最简单的继承性来编写的；但这些不影响 建造者模式 的介绍
 */
namespace Application\Common\Builder;

class VehicleBuilder
{
    // 车辆数据
    protected $vhicle;
    // 本车辆构建车辆说明-类自己控制可用于构建自己的部件
    public function init()
    {
        return false;
    }
    // 增加轮子
    public function addWheel($wheel)
    {
        $this -> vhicle['wheel'] = $wheel;
    }
    // 增加车身
    public function addBody($body)
    {
        $this -> vhicle['body'] = $body;
    }
    // 增加引擎
    public function addEngine($engine)
    {
        $this -> vhicle['engine'] = $engine;
    }
    // 展示车辆
    public function display()
    {
        // 展示车辆
        return $this -> vhicle;
    }
}
